package logica;

import datos.Bloque;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;

public class ElementoMapa {

    private Bloque bloque;
    private int index;
    private int posX;
    private int posY;
    private int tamanioBloques;
    private JLabel labelImagen;
    private BufferedImage imagenBloque;

    public ElementoMapa(Bloque bloque, int posX, int posY, int tamanioBloques) {
        this.bloque = bloque;
        this.posX = posX;
        this.posY = posY;
        this.tamanioBloques = tamanioBloques;
        //elemento = new JLabel(new ImageIcon("recursos/img/bloques/" + bloque.getNombreImg()));
        String rutaImagen = "";
        if (bloque.getIdBloque() == 1) {
            rutaImagen = "src/recursos/img/bloques/pared_1.png";
        } else if (bloque.getIdBloque() == 2) {
            rutaImagen = "src/recursos/img/bloques/suelo_1.png";
        } else if (bloque.getIdBloque() == 3) {
            rutaImagen = "src/recursos/img/bloques/pared_2.png";
        } else if (bloque.getIdBloque() == 4) {
            rutaImagen = "src/recursos/img/bloques/suelo_2.png";
        }
        try {
            imagenBloque = ImageIO.read(new File(rutaImagen));
        } catch (Exception e) {
        }
        labelImagen = new JLabel(new ImageIcon(imagenBloque));
        labelImagen.setPreferredSize(new Dimension(tamanioBloques, tamanioBloques));
        labelImagen.setBounds(posX, posY, tamanioBloques, tamanioBloques);
        labelImagen.setVisible(true);
    }

    public Bloque getBloque() {
        return bloque;
    }

    public void setBloque(Bloque bloque) {
        this.bloque = bloque;
    }

    public void setImagenBloque(BufferedImage imagenBloque) {
        this.imagenBloque = imagenBloque;
    }

    public int getPosX() {
        return posX;
    }

    public int getPosY() {
        return posY;
    }

    public Point getLocation() {
        return new Point(posX, posY);
    }

    public int getTamanioBloques() {
        return tamanioBloques;
    }

    public JLabel getLabelImagen() {
        return labelImagen;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public BufferedImage getImagenBloque() {
        return imagenBloque;
    }

}
